package admin_routers

import (
	validatorFactory "ginServer/modules/common/common_validator/core/factory"
	"ginServer/modules/common/global/consts"

	"github.com/gin-gonic/gin"
)

func AdminRoutersApiInit(router *gin.Engine) {

	//  创建一个门户类接口路由组
	vApi := router.Group("/api/")
	{
		// 模拟一个首页路由
		adminApi := vApi.Group("admin/")
		{
			// 第二个参数说明：
			// 1.它是一个表单参数验证器函数代码段，该函数从容器中解析，整个代码段略显复杂，但是对于使用者，您只需要了解用法即可，使用很简单，看下面 ↓↓↓
			// 2.编写该接口的验证器，位置：app/http/validator/api/home/news.go
			// 3.将以上验证器注册在容器：app/http/validator/common/register_validator/api_register_validator.go  18 行为注册时的键（consts.ValidatorPrefix + "HomeNews"）。那么获取的时候就用该键即可从容器获取
			adminApi.GET("admin/index", validatorFactory.Create(consts.ValidatorPrefix+"AdminAdminIndex"))
			adminApi.POST("admin/add", validatorFactory.Create(consts.ValidatorPrefix+"AdminAdminAdd"))
			adminApi.GET("admin/edit/:id", validatorFactory.Create(consts.ValidatorPrefix+"AdminAdminEdit"))
			adminApi.PUT("admin/update/:id", validatorFactory.Create(consts.ValidatorPrefix+"AdminAdminUpdate"))
			adminApi.PUT("admin/status/:id", validatorFactory.Create(consts.ValidatorPrefix+"AdminAdminStatus"))
			adminApi.DELETE("admin/del/:id", validatorFactory.Create(consts.ValidatorPrefix+"AdminAdminDel"))
			adminApi.DELETE("admin/delAll", validatorFactory.Create(consts.ValidatorPrefix+"AdminAdminDelAll"))
		}
	}
}
